iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
生成式 AI

AI的雲上漫遊系列 第 6

Day6 LangChain 實作

  • 分享至 

  • xImage
  •  

以OPENAI為例,來實作:

先安裝langchain得相關sdk

pip install langchain-openai

並且設定一個.env檔放置根目錄,langchain會直接幫你讀取有關於OPENAI_API_KEY 的相關變數。

所以最後呈現以下程式:

from langchain_openai import OpenAI

llm = OpenAI()
result = llm.invoke("請問周杰倫是誰?")
print(result)

上述最終執行方式使用.invoke 做執行,接下來的LLM呼叫大部份都是遵循這一種方式,就是這麼樸實無華,是不是比原本前幾天說到實作API方式更簡單呢!

接下來就是一些langchain特有的功能,叫做Chaining,我稱之為鏈式,簡單來說這個操作就是可以把原本需要複雜的input結構,改的更通用更簡單使用,以下範例:

from langchain_core.prompts import PromptTemplate
from langchain_openai import OpenAI
prompt = PromptTemplate.from_template("How to say {input} in {output_language}:\n")

llm = OpenAI()
chain = prompt | llm
result = chain.invoke(
    {
        "output_language": "繁體中文",
        "input": "I love programming.",
    }
)
print(result)

我們簡單解釋一下:

  1. 創建了一個提示模板。這個模板包含兩個變數:{input}{output_language}
  2. 創建了一個簡單的鏈,使用管道操作符 | 將提示模板和語言模型連接起來。這意味著提示模板的輸出將被直接傳遞給語言模型。
  3. 傳入了兩個參數:
    • output_language: 指定要翻譯成的語言(這裡是繁體中文)
    • input: 要翻譯的英文句子

有沒有很像一些AI系統正在使用的方式呢?舉例來說我丟PPT進去AI,我不用任何解釋AI就知道要幫我美化PPT是一樣的概念,很多應用都是類似這得套用方式,大概跟大家分享到這邊。


上一篇
Day5 LangChain 介紹
下一篇
Day7 RAG的基本概念和工作原理
系列文
AI的雲上漫遊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言